1. Field of the Invention
The present invention relates to routing a received Signaling System 7 (SS7) message in a Common Channel Interoffice Signaling (CCIS) network of an out-of-band telecommunications system.
2. Description of the Related Art
Common Channel Interoffice Signaling (CCIS) networks provide out of band signaling for telecommunications networks such as public switched telephone networks. Most of the signaling communications for telephone networks utilize Signaling System 7 (SS7) protocol. An exemplary SS7 compliant CCIS network includes Service Switching Points (SSPs) (i.e., an SS7 capable telephony switch), Signaling Transfer Points (STPs), and data links between the STPs and SSPs and various telephone switching offices of the network.
As recognized in the art, the hardware and software operations of the SS7 protocol are divided into “layers”, similar to the Open Systems Interconnect (OSI) Network Model specified by the International Standards Organization (ISO). The “lowest levels” of the SS7 protocol include the Message Transfer Part (MTP) Level 1, Level 2, and Level 3. MTP Level 1 and Level 2 are equivalent to the OSI Physical Layer and the OSI Data Link layer, respectively. MTP Level 3, equivalent to the OSI Network Layer, provides message routing between signaling points in the SS7 network, and re-routes traffic away from failed links and signaling points and controls traffic when congestion occurs.
SS7 messages (also referred to as signal units) are routed throughout the SS7 network based on point codes specified within the SS7 message. In particular, each node of the signaling network is assigned a prescribed point code for purposes of addressing signaling messages throughout the SS7 network. The point code includes components that represent a network hierarchy based on the protocol being deployed.
One type of signal unit, known as a Message Signal Unit (MSU), includes a routing label which allows an originating signaling point to send information to a destination signaling point across the network. The routing label includes an originating point code (OPC) specifying the originating signaling node, a destination point code (DPC) specifying the destination for the SS7 messaging packet, and a signaling link selection (SLS) field. Hence, a signaling network node selects an available outgoing link based on information in the DPC and SLS.
The size of the point code may vary depending on protocol; for example, each North American point code according to the American National Standards Institute (ANSI) uses 24 bits, whereas each point code specified by the International Telecommunication Union (ITU) uses 14 bits. In particular, an ANSI point code specifies a network hierarchy based on network, cluster, and member octets (e.g., 245-16-0 decimal). An octet is an 8-bit (i.e., 1-byte) value which can contain any value between zero and 255. Telcos with large networks have unique network identifiers while smaller operators are assigned a unique cluster number within networks 1 through 4 (e.g., 1-123-9). Network number 0 is not used; network number 255 is reserved for future use.
ITU-T point codes are pure binary numbers which may be stated in terms of zone, area/network, and signaling point identification numbers. For example, the point code 5557 (decimal) may be stated as 2-182-5 (binary 010 10110110 101).
The ANSI standard allows for, and specifies in detail, a form of routing referred to as Cluster Routing. A “cluster route” is a route to a point code of which only the Network and Cluster portions have been specified, i.e., the first 16 bits. Hence, the cluster route enables one to specify a route to all members within that cluster.
As described above, a signaling network node selects an available outgoing link based on information in the DPC and SLS. The SLS value is assigned to each message by the originator of the message (i.e., the originating node). Intermediate routing nodes operate on the assigned SLS value to select an outbound link; hence, messages which contain the same SLS value are transmitted on the same link. The SLS value can be used for linkset selection only in the case that a combined linkset is used: a combined linkset consists of two or more linksets with the same priority to the same destination; if a combined linkset is not used, the SLS value is used only to select the link. In the event of a link failure, then link restoration, changeover, and change procedures are implemented to preserve message order while messages are moved to an alternate signaling link.
Concerns arise with respect to providing even distribution of signaling traffic between links within a linkset, and ensuring that management messages arrive at their specified destination in the proper sequence. For example, an originating node typically may generate random SLS values to enable load sharing of signaling traffic among different links of a linkset due to the random distribution of the SLS values among respective signaling messages; an alternative method of implementing load sharing is to use a round robin-type sequence, where SLS values are sequenced through the available range. However, a random or round robin distribution of SLS values cannot guarantee that signaling messages arrive in the appropriate sequence: a first signaling message (e.g., a Transfer Prohibit (TFP)) may be output by an originating node, followed by a second signaling message (e.g., a Transfer Allowed (TFA)); if the destination node first receives the TFA followed by the TFP, the destination node may improperly conclude that an affected node is available, requiring the signaling nodes to send additional signaling messages to resolve the actual states of the signaling nodes. Hence, the forwarding of user traffic may be delayed.
Hence, the originating node having two messages that need to arrive in sequence typically will insert a default SLS value in both messages to ensure that the two messages traverse the exact same path through the network, guarantee to arrive in sequence. This technique of using a default SLS value, however, creates unequal load distribution, since a given link may be required to carry data plus the management traffic. Hence, network resources utilization is not optimized.